home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / javax / naming / InitialContext.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  5.4 KB  |  225 lines

  1. package javax.naming;
  2.  
  3. import com.sun.naming.internal.ResourceManager;
  4. import java.util.Hashtable;
  5. import javax.naming.spi.NamingManager;
  6.  
  7. public class InitialContext implements Context {
  8.    protected Hashtable<Object, Object> myProps = null;
  9.    protected Context defaultInitCtx = null;
  10.    protected boolean gotDefault = false;
  11.  
  12.    protected InitialContext(boolean var1) throws NamingException {
  13.       if (!var1) {
  14.          this.init((Hashtable)null);
  15.       }
  16.  
  17.    }
  18.  
  19.    public InitialContext() throws NamingException {
  20.       this.init((Hashtable)null);
  21.    }
  22.  
  23.    public InitialContext(Hashtable<?, ?> var1) throws NamingException {
  24.       if (var1 != null) {
  25.          var1 = (Hashtable)var1.clone();
  26.       }
  27.  
  28.       this.init(var1);
  29.    }
  30.  
  31.    protected void init(Hashtable<?, ?> var1) throws NamingException {
  32.       this.myProps = ResourceManager.getInitialEnvironment(var1);
  33.       if (this.myProps.get("java.naming.factory.initial") != null) {
  34.          this.getDefaultInitCtx();
  35.       }
  36.  
  37.    }
  38.  
  39.    public static <T> T doLookup(Name var0) throws NamingException {
  40.       return (T)(new InitialContext()).lookup(var0);
  41.    }
  42.  
  43.    public static <T> T doLookup(String var0) throws NamingException {
  44.       return (T)(new InitialContext()).lookup(var0);
  45.    }
  46.  
  47.    private static String getURLScheme(String var0) {
  48.       int var1 = var0.indexOf(58);
  49.       int var2 = var0.indexOf(47);
  50.       return var1 <= 0 || var2 != -1 && var1 >= var2 ? null : var0.substring(0, var1);
  51.    }
  52.  
  53.    protected Context getDefaultInitCtx() throws NamingException {
  54.       if (!this.gotDefault) {
  55.          this.defaultInitCtx = NamingManager.getInitialContext(this.myProps);
  56.          this.gotDefault = true;
  57.       }
  58.  
  59.       if (this.defaultInitCtx == null) {
  60.          throw new NoInitialContextException();
  61.       } else {
  62.          return this.defaultInitCtx;
  63.       }
  64.    }
  65.  
  66.    protected Context getURLOrDefaultInitCtx(String var1) throws NamingException {
  67.       if (NamingManager.hasInitialContextFactoryBuilder()) {
  68.          return this.getDefaultInitCtx();
  69.       } else {
  70.          String var2 = getURLScheme(var1);
  71.          if (var2 != null) {
  72.             Context var3 = NamingManager.getURLContext(var2, this.myProps);
  73.             if (var3 != null) {
  74.                return var3;
  75.             }
  76.          }
  77.  
  78.          return this.getDefaultInitCtx();
  79.       }
  80.    }
  81.  
  82.    protected Context getURLOrDefaultInitCtx(Name var1) throws NamingException {
  83.       if (NamingManager.hasInitialContextFactoryBuilder()) {
  84.          return this.getDefaultInitCtx();
  85.       } else {
  86.          if (var1.size() > 0) {
  87.             String var2 = var1.get(0);
  88.             String var3 = getURLScheme(var2);
  89.             if (var3 != null) {
  90.                Context var4 = NamingManager.getURLContext(var3, this.myProps);
  91.                if (var4 != null) {
  92.                   return var4;
  93.                }
  94.             }
  95.          }
  96.  
  97.          return this.getDefaultInitCtx();
  98.       }
  99.    }
  100.  
  101.    public Object lookup(String var1) throws NamingException {
  102.       return this.getURLOrDefaultInitCtx(var1).lookup(var1);
  103.    }
  104.  
  105.    public Object lookup(Name var1) throws NamingException {
  106.       return this.getURLOrDefaultInitCtx(var1).lookup(var1);
  107.    }
  108.  
  109.    public void bind(String var1, Object var2) throws NamingException {
  110.       this.getURLOrDefaultInitCtx(var1).bind(var1, var2);
  111.    }
  112.  
  113.    public void bind(Name var1, Object var2) throws NamingException {
  114.       this.getURLOrDefaultInitCtx(var1).bind(var1, var2);
  115.    }
  116.  
  117.    public void rebind(String var1, Object var2) throws NamingException {
  118.       this.getURLOrDefaultInitCtx(var1).rebind(var1, var2);
  119.    }
  120.  
  121.    public void rebind(Name var1, Object var2) throws NamingException {
  122.       this.getURLOrDefaultInitCtx(var1).rebind(var1, var2);
  123.    }
  124.  
  125.    public void unbind(String var1) throws NamingException {
  126.       this.getURLOrDefaultInitCtx(var1).unbind(var1);
  127.    }
  128.  
  129.    public void unbind(Name var1) throws NamingException {
  130.       this.getURLOrDefaultInitCtx(var1).unbind(var1);
  131.    }
  132.  
  133.    public void rename(String var1, String var2) throws NamingException {
  134.       this.getURLOrDefaultInitCtx(var1).rename(var1, var2);
  135.    }
  136.  
  137.    public void rename(Name var1, Name var2) throws NamingException {
  138.       this.getURLOrDefaultInitCtx(var1).rename(var1, var2);
  139.    }
  140.  
  141.    public NamingEnumeration<NameClassPair> list(String var1) throws NamingException {
  142.       return this.getURLOrDefaultInitCtx(var1).list(var1);
  143.    }
  144.  
  145.    public NamingEnumeration<NameClassPair> list(Name var1) throws NamingException {
  146.       return this.getURLOrDefaultInitCtx(var1).list(var1);
  147.    }
  148.  
  149.    public NamingEnumeration<Binding> listBindings(String var1) throws NamingException {
  150.       return this.getURLOrDefaultInitCtx(var1).listBindings(var1);
  151.    }
  152.  
  153.    public NamingEnumeration<Binding> listBindings(Name var1) throws NamingException {
  154.       return this.getURLOrDefaultInitCtx(var1).listBindings(var1);
  155.    }
  156.  
  157.    public void destroySubcontext(String var1) throws NamingException {
  158.       this.getURLOrDefaultInitCtx(var1).destroySubcontext(var1);
  159.    }
  160.  
  161.    public void destroySubcontext(Name var1) throws NamingException {
  162.       this.getURLOrDefaultInitCtx(var1).destroySubcontext(var1);
  163.    }
  164.  
  165.    public Context createSubcontext(String var1) throws NamingException {
  166.       return this.getURLOrDefaultInitCtx(var1).createSubcontext(var1);
  167.    }
  168.  
  169.    public Context createSubcontext(Name var1) throws NamingException {
  170.       return this.getURLOrDefaultInitCtx(var1).createSubcontext(var1);
  171.    }
  172.  
  173.    public Object lookupLink(String var1) throws NamingException {
  174.       return this.getURLOrDefaultInitCtx(var1).lookupLink(var1);
  175.    }
  176.  
  177.    public Object lookupLink(Name var1) throws NamingException {
  178.       return this.getURLOrDefaultInitCtx(var1).lookupLink(var1);
  179.    }
  180.  
  181.    public NameParser getNameParser(String var1) throws NamingException {
  182.       return this.getURLOrDefaultInitCtx(var1).getNameParser(var1);
  183.    }
  184.  
  185.    public NameParser getNameParser(Name var1) throws NamingException {
  186.       return this.getURLOrDefaultInitCtx(var1).getNameParser(var1);
  187.    }
  188.  
  189.    public String composeName(String var1, String var2) throws NamingException {
  190.       return var1;
  191.    }
  192.  
  193.    public Name composeName(Name var1, Name var2) throws NamingException {
  194.       return (Name)var1.clone();
  195.    }
  196.  
  197.    public Object addToEnvironment(String var1, Object var2) throws NamingException {
  198.       this.myProps.put(var1, var2);
  199.       return this.getDefaultInitCtx().addToEnvironment(var1, var2);
  200.    }
  201.  
  202.    public Object removeFromEnvironment(String var1) throws NamingException {
  203.       this.myProps.remove(var1);
  204.       return this.getDefaultInitCtx().removeFromEnvironment(var1);
  205.    }
  206.  
  207.    public Hashtable<?, ?> getEnvironment() throws NamingException {
  208.       return this.getDefaultInitCtx().getEnvironment();
  209.    }
  210.  
  211.    public void close() throws NamingException {
  212.       this.myProps = null;
  213.       if (this.defaultInitCtx != null) {
  214.          this.defaultInitCtx.close();
  215.          this.defaultInitCtx = null;
  216.       }
  217.  
  218.       this.gotDefault = false;
  219.    }
  220.  
  221.    public String getNameInNamespace() throws NamingException {
  222.       return this.getDefaultInitCtx().getNameInNamespace();
  223.    }
  224. }
  225.